<?php
($uid = session('user_id')) || abort('请先登录!');
$page = _POST('page', 1);
$page_size = _POST('page_size', 10);
$start = ($page-1)*$page_size;
$limit = $page_size+1;
$list = $db->getAll('SELECT bonus_id,bonus_type_id,bonus_sn,used_time,order_id FROM user_bonus WHERE user_id='.$uid." ORDER BY bonus_id DESC LIMIT {$start},{$limit}");
$has_more = 0;
if ($list)
{
    if (count($limit) > $page_size)
    {
        $has_more = 1;
    }
    foreach ($list as $k => $v)
    {
        $list[$k]['bonus_type'] = get_bonus_type($db, $v['bonus_type_id']);
    }
}
else
{
    $list = [];
}

return ['list' => $list, 'has_more' => $has_more];

function get_bonus_type($db, $bonus_type_id)
{
    static $bonus_types;
    if (!isset($bonus_types[$bonus_type_id]))
    {
        $bonus_types[$bonus_type_id] = $db->getOne('SELECT type_name FROM bonus_type WHERE type_id='.$bonus_type_id)?:'优惠券';
    }
    return $bonus_types[$bonus_type_id];
}

/*
bonus_id 	mediumint(8) 	否	红包的流水号
bonus_type_id 	tinyint(3) 	否	红包发送类型.0,按用户如会员等级,会员名称发放;1,按商品类别发送;2,按订单金额所达到的额度发送;3,线下发送
bonus_sn 	bigint(20) 	否	红包号,如果为0就是没有红包号.如果大于0,就需要输入该红包号才能使用红包
user_id 	mediumint(8) 	否	该红包属于某会员的id.如果为0,就是该红包不属于某会员
used_time 	int(10) 	否	红包使用的时间
order_id 	mediumint(8) 	否	使用了该红包的交易号
emailed 	tinyint(3) 	否	否已经将红包发送到用户的邮箱；1，是；0，否

*/
